/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jorgegarciadelanavarra;
import java.io.*;
/**
 *
 * @author rcerrato
 */
public class JorgeGarciaDeLaNavarra {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws IOException {
        BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
        int b,unidadesVendidas=0,annoEntrada=0;
        char respuesta='Y';
        String mayorDni="",dni="";
        double importeVentasRealizadas=0,salarioActual=0,mayorBonus=0;
        for(int a=1;respuesta!='n'&&respuesta!='N';a++){
            System.out.println("EMPLEADO NUMERO "+a+":");
            do{
                b=0;    
                System.out.print("DNI(CON LETRA): ");
                dni=br.readLine();
                if(dni.length()>9||dni.length()<7){
                    b=1;
                    System.out.println("DNI ERRONEO");
                }
            }while(b==1);
            do{
                b=0;
                System.out.print("SALARIO ANUAL ACTUAL: ");
                salarioActual=Double.parseDouble(br.readLine());
                if(salarioActual<=0){
                    b=1;
                    System.out.println("SALARIO ERRONEO");
                }
            }while(b==1);
            do{
                b=0;
                System.out.print("IMPORTE DE LAS VENTAS: ");
                importeVentasRealizadas=Double.parseDouble(br.readLine());
                if(importeVentasRealizadas<=0){
                    b=1;
                    System.out.println("IMPORTE ERRONEO");
                }
            }while(b==1);
            do{
               b=0; 
            System.out.print("NUMERO DE UNIDADES VENDIDAS: ");
            unidadesVendidas=Integer.parseInt(br.readLine());
                if(unidadesVendidas<=0){
                    b=1;
                    System.out.println("DATO ERRONEO");
                }
            }while(b==1);
            System.out.print("AÑO ACTUAL:");
            int annoActual=Integer.parseInt(br.readLine());
            do{
                b=0;
                System.out.print("AÑO DE ENTRADA A LA EMPRESA: ");
                annoEntrada=Integer.parseInt(br.readLine());
                if(annoEntrada>annoActual){
                    b=1;
                    System.out.println("AÑO ERRONEO");
                }
            }while(b==1);
                    
            double bonusVentas=CalcularBonificacion(importeVentasRealizadas,
                                                    unidadesVendidas);
            double bonusAnnos=salarioActual*(trienios(annoActual,annoEntrada)*0.2)/100;
            double bonusTotal=bonusVentas+bonusAnnos;
            if(bonusTotal>mayorBonus){
                mayorDni=dni;
                mayorBonus=bonusTotal;
                
            }
            System.out.println("BONIFICACION TOTAL DEL EMPLEADO: "+bonusTotal+"€");
            do{
                System.out.print("INTRODUCIR OTRO EMPLEADO(Y/N):");
                respuesta=(char)br.read();
                br.read();
            }while(respuesta!='n'&&respuesta!='N'&&respuesta!='y'&&respuesta!='Y');
        }
        System.out.println("EL EMPLEADO QUE MAS BONIFICACION HA TENIDO HA SIDO: "
                +mayorDni+" CON UNA BONIFICACION DE "+mayorBonus+"€");
        
    }
    static double CalcularBonificacion(double ventas,int uniVend){
        double bonificacion=0;
        for(int a=1;uniVend>=20;uniVend=uniVend-20){
            bonificacion+=10;
        }
        bonificacion+=2; //no necesariamente!!!!!!
        double porcentajeVentas=(ventas*0.1)/100;
        bonificacion+=porcentajeVentas;
            
        return bonificacion;
    }
    static int trienios(int annoActual,int annoEntrada){
        int numTrienios,annosEmpresa;
        annosEmpresa=annoActual-annoEntrada;
        numTrienios=annosEmpresa/3;
        return numTrienios;
    }
    
}
